Daniel Boles [Fri, 29 Jun 2018 19:00:06 +0000 (20:00 +0100)]
testsuite/gtk/defaultvalue: Actually build...& fix
It looks like this got dropped during the move from autotools and never
restored. I can see why, since making it work wasn't a hugely fun task!
Notes on some less then obvious details:
* PlacesSidebar is private now and didn't seem to be to be particularly
easy to adapt to, so this moves to checking for it by name, not TYPE.
I couldn't find a (fast) better way; if you know how, please clean up
* added 2 casts to avoid warnings from the new type-propagating ref()
* GdkClipboard and GdkContentProvider need some properties dodged
* GtkToolItemGroup is gone
* fixed indentation and used TypeName:property-name syntax in a print()
Matthias Clasen [Fri, 29 Jun 2018 15:08:17 +0000 (15:08 +0000)]
Merge branch 'wip/cursor-output-scale-changes' into 'master'
wayland: Update cursor surface scale when output scale changes
See merge request GNOME/gtk!224
Matthias Clasen [Fri, 29 Jun 2018 14:21:24 +0000 (14:21 +0000)]
Merge branch 'wip/aplazas/modelbutton-markup-master' into 'master'
ModelButton: Add 'use-markup' property
See merge request GNOME/gtk!222
Jonas Ådahl [Thu, 28 Jun 2018 10:44:22 +0000 (12:44 +0200)]
wayland: Update cursor surface scale when output scale changes
Also update the cursor surfaces of every seat when an output changes
scale. This could for example happen when a monitor scale is changed via
Settings.
Benjamin Otte [Wed, 27 Jun 2018 18:52:23 +0000 (20:52 +0200)]
widget: Move opactiy == 0 check
If we check it too early, we will not unset priv->draw_neeeded, which
will then cause queue_draw() calls to not have an effect later. And that
causes changes in opacity to not register.
Closes #1180
Daniel Boles [Wed, 27 Jun 2018 16:17:05 +0000 (17:17 +0100)]
notify test: Remove more nonexistent properties
Timm Bäder [Wed, 27 Jun 2018 16:02:35 +0000 (18:02 +0200)]
notify test: Remove some non-existant properties
Timm Bäder [Wed, 27 Jun 2018 15:58:01 +0000 (17:58 +0200)]
testsuite: Remove a GtkColorButton special case
The comment above explains neatly why subclassing GtkButton for
GtkColorButton was a bad idea. Nowadays it's a GtkWidget subclass
containing a GtkButton so let's remove the special case here.
Timm Bäder [Wed, 27 Jun 2018 15:57:31 +0000 (17:57 +0200)]
Remove some GtkRecentChooserMenu references
Doesn't exist anymore.
Adrien Plazas [Mon, 23 Apr 2018 09:06:17 +0000 (11:06 +0200)]
ModelButton: Add 'use-markup' property
Binds this property to the button's label, allowing a model button to
have text with markup.
This will be convenient for buttons like 'Online Accounts <sup>↗</sup>'.
Rico Tzschichholz [Wed, 27 Jun 2018 07:00:17 +0000 (09:00 +0200)]
gdk: Fix some g-i annotations warnings
Timm Bäder [Tue, 26 Jun 2018 19:40:59 +0000 (21:40 +0200)]
gl renderer: Ignore 0-sized fallback nodes
Emmanuele Bassi [Tue, 26 Jun 2018 16:57:29 +0000 (17:57 +0100)]
Do not modify a const GdkEvent in place
When deciding whether or not to emulate a press event, we're translating
the last event coordinates and mutating the given event structure
unconditionally.
We should modify the newly created GdkEvent copy, since it's what we're
going to use when emitting the press event.
This avoids mutating a constant GdkEvent and global state, and also
avoids a compiler warning.
Matthias Clasen [Tue, 26 Jun 2018 16:31:41 +0000 (12:31 -0400)]
Docs: Remove more since markers
The idea is that GTK+ 4 will be an epoch, API-wise.
Everything that was around for 4.0 has been there
since the beginning of the epoch and doesn't need
markers.
Matthias Clasen [Tue, 26 Jun 2018 16:19:00 +0000 (12:19 -0400)]
docs: Document GtkEventControllerKey
The long description was missing.
Matthias Clasen [Mon, 25 Jun 2018 22:14:16 +0000 (18:14 -0400)]
Bump version to 3.94.0
Matthias Clasen [Mon, 25 Jun 2018 23:21:08 +0000 (19:21 -0400)]
Remove a lot of Since annotations
4.0 will represent a clean epoch. We don't want to have
lots of noise in the docs about 2.x or 3.x.
Matthias Clasen [Mon, 25 Jun 2018 22:13:52 +0000 (18:13 -0400)]
Some updates
Benjamin Otte [Mon, 25 Jun 2018 22:53:39 +0000 (00:53 +0200)]
reftests: Fix compilation
FOREIGN surfaces are gone.
Benjamin Otte [Mon, 25 Jun 2018 22:47:40 +0000 (00:47 +0200)]
gdk: Remove GDK_SURFACE_FOREIGN
We don't create surfaces of that type anymore.
Michael Catanzaro [Sun, 24 Jun 2018 20:49:46 +0000 (15:49 -0500)]
imwayland: Fix a small leak
If the parent get_preedit_string implementation returns a nonnull
zero-length string, then we ignore it, which is almost fine. We have to
free it, though.
Fixes #1174
Matthias Clasen [Sat, 23 Jun 2018 19:42:26 +0000 (19:42 +0000)]
Merge branch 'master' into 'master'
gtk: also recolor circle and ellipse in symbolic SVG icons.
See merge request GNOME/gtk!214
Jehan [Fri, 22 Jun 2018 22:16:39 +0000 (00:16 +0200)]
gtk: also recolor circle and ellipse in symbolic SVG icons.
Timm Bäder [Thu, 21 Jun 2018 18:57:18 +0000 (20:57 +0200)]
button: Remove unused variable
Timm Bäder [Thu, 21 Jun 2018 15:43:26 +0000 (17:43 +0200)]
scrolledwindow: Avoid a queue_resize path in size-allocate
Carlos Garnacho [Tue, 12 Jun 2018 11:56:28 +0000 (13:56 +0200)]
gtktreeviewcolumn: Implement column dragging through GtkGestureDrag
And remove ::event signal handler.
Carlos Garnacho [Tue, 12 Jun 2018 10:33:03 +0000 (12:33 +0200)]
gtktexthandle: Update to gtk4 rendering/input
GtkTextHandle was neglected by whoever removed the ::draw signal,
leaving it entirely broken. Update to using GtkGizmo so we can
implement snapshot of text handles.
Input has received a revamp too, handling is done through a
GtkGestureDrag and coordinate calculations simplified by storing
the delta to the hotspot on ::begin instead of ::update, as this
value is constant throughout the gesture. Widget state management
on crossing events happens implicitly, so no longer needs to be
done here.
Last but not least, CSS has also been updated so handles are
rendered at the correct size and proportion, and with the padding
that code expects of it.
Carlos Garnacho [Tue, 12 Jun 2018 10:30:17 +0000 (12:30 +0200)]
gtkwindow: Queue popover resize on set_popover_position()
So the new position is eventually honored. Fixes magnifier and handles
staying in place after being shown.
Carlos Garnacho [Fri, 8 Jun 2018 17:05:28 +0000 (19:05 +0200)]
gtkfilechooserwidget: Forward events to filechooser through key controller
Instead of manually calling gtk_binding_set_activate_event() on an ::event
callback in the save entry.
Carlos Garnacho [Fri, 8 Jun 2018 12:33:35 +0000 (14:33 +0200)]
gtkfilechoooserentry: Handle tab completion through key controller
Carlos Garnacho [Fri, 8 Jun 2018 11:50:26 +0000 (13:50 +0200)]
gtkemojicompletion: Use GtkEntry key controller to handle key presses
Carlos Garnacho [Fri, 8 Jun 2018 11:31:32 +0000 (13:31 +0200)]
gtkentrycompletion: Properly remove controller from entry
When disconnecting the GtkEntry from the GtkEntryCompletion, we
must remove the controller in order to avoid dangling callbacks.
Carlos Garnacho [Fri, 8 Jun 2018 11:26:26 +0000 (13:26 +0200)]
gtkentrycompletion: Move focus out handling to key controller
We can use the already present key controller to handle focus out.
Carlos Garnacho [Fri, 8 Jun 2018 11:18:34 +0000 (13:18 +0200)]
gtkentrycompletion: Perform event handling on popup through controllers
Instead of a ::event signal handler.
Carlos Garnacho [Fri, 8 Jun 2018 09:29:59 +0000 (11:29 +0200)]
gtkplacessidebar: Replace ::event signal handlers with gestures
Set up a gesture on the sidebar rows to detect pointer clicks on
it. The row DnD management has been moved to the row widget itself,
it makes more sense even if the drag is began from the sidebar widget.
Carlos Garnacho [Thu, 7 Jun 2018 14:47:44 +0000 (16:47 +0200)]
gtkwindow: Move map/delete/configure event management to gtkmain
Toplevels are about the only widgets interested in these events,
just handle those without going through the capture/bubble handling
code.
Carlos Garnacho [Thu, 7 Jun 2018 14:25:34 +0000 (16:25 +0200)]
gtkwindow: Simplify WM drag/resize handling
We still need a drag gesture both on front (capture) and back (bubble)
to handle dragging from both the GtkWindow widget and chrome in the
headerbar. But we can do it through 2 drag gestures, instead of special
event handling code.
Carlos Garnacho [Thu, 7 Jun 2018 13:32:47 +0000 (15:32 +0200)]
gtkmenushell: Port to GtkGesture
We still need to poke the current event at places, but this is
better than the ::event vfunc.
Carlos Garnacho [Thu, 7 Jun 2018 12:09:01 +0000 (14:09 +0200)]
gtkpopover: Fix key navigation
This has been broken since we switched key event delivery to follow
the same semantics than pointer/touch. There, GTK+ grabs will influence
the topmost widget during event delivery, rendering the toplevel
unable to handle key navigation. The toplevel must handle those key
events in an explicit manner then.
We don't render the keyboard focus rectangle yet, but I assume that's
something else.
Carlos Garnacho [Thu, 7 Jun 2018 11:32:31 +0000 (13:32 +0200)]
gtkpopover: Port to GtkEventController/GtkGesture
Use GtkEventControllerKey and GtkGestureMultiPress to replace key/button
event handling.
Carlos Garnacho [Wed, 6 Jun 2018 23:23:59 +0000 (01:23 +0200)]
gtkwindow: Handle focus in/out through key controller
One less use of ::event in this widget, now mostly left to
map/delete/configure, those puny events.
Carlos Garnacho [Wed, 6 Jun 2018 23:09:05 +0000 (01:09 +0200)]
gtkspinbutton: Use GtkEventControllerKey
And drop the ::event vfunc implementation with it.
Carlos Garnacho [Wed, 6 Jun 2018 22:49:04 +0000 (00:49 +0200)]
gtkfontchooser: Use GtkEventControllerKey
Use an event controller on GtkFontChooserDialog, a nice side effect
is that we can use gtk_event_controller_key_forward() and
gtk_search_entry_set_key_capture_widget() instead of passing events
around for dialog search.
Carlos Garnacho [Wed, 6 Jun 2018 15:27:22 +0000 (17:27 +0200)]
gtkfilechooserwidget: Drop usage of ::event vmethod
Use a key controller set up in the UI file instead.
Carlos Garnacho [Wed, 6 Jun 2018 13:57:22 +0000 (15:57 +0200)]
gtkfilechooserentry: Use GtkEntry key controller for focus-out handling
Expose the GtkEntry key controller in private API, so we don't have to
create yet another one just to handle focus-out.
Carlos Garnacho [Wed, 6 Jun 2018 11:52:08 +0000 (13:52 +0200)]
gtkentry: Use gestures for entry icons
Instead of doing all handling manually in the ::event vfunc,
set up drag/multipress gestures on icon images, and implement
emission of ::icon-press/release and DnD there.
As a side effect, the GdkEvent field in ::icon-press/release
signals has been dropped. Callers that might be interested on it
may still use gtk_get_current_event*().
Carlos Garnacho [Tue, 5 Jun 2018 13:57:53 +0000 (15:57 +0200)]
gtkbutton: remove keyboard device GTK+ grab
This isn't really necessary, if keyboard focus forcibly goes somewhere
else we will get ::grab-notify, which is sufficient to deactivate the
button again.
Carlos Garnacho [Tue, 5 Jun 2018 12:34:36 +0000 (14:34 +0200)]
gtkbutton: Use key controller for button (de)activation through keybindings
And stop using GtkWidget::event for good.
Matthias Clasen [Wed, 20 Jun 2018 22:06:35 +0000 (18:06 -0400)]
x11: Fix dnd action handling
We were mistakenly assigning an Atom to a flags value.
Daniel Boles [Wed, 20 Jun 2018 19:51:50 +0000 (20:51 +0100)]
EmojiCompletion: Avoid another un/signed warning
The cherry-pick missed this, I guess.
Daniel Boles [Wed, 20 Jun 2018 19:36:19 +0000 (20:36 +0100)]
EmojiCompletion: Avoid un/signed compare warnings
(A) Use gsize to match the result of g_variant_n_children
(B) Use guint for n_matches, like the struct (and all other n_matches)
Daniel Boles [Wed, 20 Jun 2018 19:11:26 +0000 (20:11 +0100)]
themes: Remove leftover bit of .linked workaround
Now that .linked acts like the .path-bar already did, there is no point
in applying the same styles again (with higher specificity).
Timm Bäder [Wed, 20 Jun 2018 18:42:01 +0000 (20:42 +0200)]
container: Remove SPECIAL_CONTAINER hack
As discussed in !129
Closes !129
Timm Bäder [Wed, 20 Jun 2018 18:22:52 +0000 (20:22 +0200)]
stackswitcher: Remove icon-size property
This ought to be controlled via css these days.
Timm Bäder [Wed, 20 Jun 2018 18:05:06 +0000 (20:05 +0200)]
infobar: Remove priv pointer
Timm Bäder [Wed, 20 Jun 2018 12:56:35 +0000 (14:56 +0200)]
Remove some unnecessary snapshot implementations
Timm Bäder [Wed, 20 Jun 2018 12:24:21 +0000 (14:24 +0200)]
fixed: Remove priv pointer
Timm Bäder [Wed, 20 Jun 2018 10:55:14 +0000 (12:55 +0200)]
listbox: Use widget insert API instead of fiddling with CSS nodes
Timm Bäder [Wed, 20 Jun 2018 07:07:51 +0000 (09:07 +0200)]
button: Remove ICON_SIZE_BUTTON mention in docs
The icon will have the size given by css, not whatever
GTK_ICON_SIZE_BUTTON was.
Timm Bäder [Fri, 23 Mar 2018 13:32:10 +0000 (14:32 +0100)]
adjustment: Only emit ::changed from dispatch_properties_changed
Timm Bäder [Fri, 23 Mar 2018 13:22:45 +0000 (14:22 +0100)]
adjustment: Remove adjustment_changed_stamp
Timm Bäder [Fri, 23 Mar 2018 12:55:01 +0000 (13:55 +0100)]
testsuite: Print tested property name in notify test
Timm Bäder [Fri, 23 Mar 2018 12:48:31 +0000 (13:48 +0100)]
adjustment: Use public setters in set_property
Daniel Boles [Wed, 20 Jun 2018 18:25:04 +0000 (19:25 +0100)]
themes: Regenerate CSS for recent commits
e.g. the box.linked one, which didn't update the compiled CSS.
Daniel Boles [Wed, 20 Jun 2018 18:23:59 +0000 (19:23 +0100)]
HC: Avoid excessive selectors from prev commit
The new rule does not need to affect all those other pseudoclasses. I
just put it in the wrong scope.
Daniel Boles [Wed, 20 Jun 2018 17:32:49 +0000 (18:32 +0100)]
HC: Avoid same BG/FG colors in flat treeview entry
Selected rows in tree views in HighContrast have a background colour the
same or nearly as the normal text colour, so we cannot let entries in
such rows have transparent backgrounds, or the text inside the entry
becomes nearly or totally impossible to see.
Dodge this by giving entry.flat inside treeview and with :focus the
$base_color, which is different from the text & so lets that be seen.
https://gitlab.gnome.org/GNOME/gtk/merge_requests/125
Daniel Boles [Wed, 20 Jun 2018 08:54:16 +0000 (09:54 +0100)]
searchenginetracker: Don't leak the hits' GFiles
https://gitlab.gnome.org/GNOME/gtk/merge_requests/206
Matthias Clasen [Wed, 20 Jun 2018 15:34:51 +0000 (15:34 +0000)]
Merge branch 'issue1084' into 'master'
application: Complete the startup sequence before quitting remote instances
Closes #979
See merge request GNOME/gtk!156
Matthias Clasen [Wed, 20 Jun 2018 14:21:24 +0000 (14:21 +0000)]
Merge branch 'master' into 'issue1084'
# Conflicts:
# gdk/gdk.c
Timm Bäder [Mon, 18 Jun 2018 19:50:33 +0000 (21:50 +0200)]
window: Remove priv pointer
Timm Bäder [Mon, 18 Jun 2018 19:18:34 +0000 (21:18 +0200)]
pathbar: Remove unused define
Matthias Clasen [Tue, 19 Jun 2018 20:59:20 +0000 (16:59 -0400)]
docs: Remove a duplicate line in gdk4-sections.txt
This was causing another docs build break.
Matthias Clasen [Tue, 19 Jun 2018 20:46:53 +0000 (16:46 -0400)]
docs: fix a typo
Invalid syntax in gdk4-sections.txt was causing docs builds to fail.
Daniel Boles [Tue, 19 Jun 2018 20:22:38 +0000 (20:22 +0000)]
Merge branch '1160-crash-clearing-gtkentry-icon-tooltip-master' into 'master'
Resolve "Crash clearing GtkEntry icon tooltip"
Closes #1160
See merge request GNOME/gtk!205
Benjamin Otte [Tue, 19 Jun 2018 19:45:44 +0000 (21:45 +0200)]
win32: Fix typo
This should fix gtk-doc erroring out.
Benjamin Otte [Tue, 19 Jun 2018 17:54:19 +0000 (19:54 +0200)]
Revert "Add aligned allocator functions to GSK"
This reverts commit
8e74eb382f0c617b7b65a6850952d6acc9fd3018.
This code is not necessary. It worked around a bug in graphene where
graphene was requiring stricter alignment than glib allocators could
guarantee.
Benjamin Otte [Tue, 19 Jun 2018 17:52:52 +0000 (19:52 +0200)]
Revert "Use aligned allocators for GtkSnapshot"
This reverts commit
c02bc22cc575470aab870599f2781c3781fb75e6.
This code is not necessary.
The bug causing this problem ws prsent in the graphene library.
Benjamin Otte [Tue, 19 Jun 2018 17:43:12 +0000 (19:43 +0200)]
rendernodepaintable: Fix rendering position
When the given size had an offset, we were moving that offset in the
wrong direction.
Benjamin Otte [Tue, 19 Jun 2018 17:41:49 +0000 (19:41 +0200)]
dnd: Use a GtkPicture in gtk_dnd_set_icon_paintable()
We don't want to get the paintable scaled down to icon size.
Also set can-shrink = FALSE to replicate GTK3 behavior with size
requests.
Benjamin Otte [Tue, 19 Jun 2018 17:40:37 +0000 (19:40 +0200)]
snapshot: Compute correct size in gtk_snapshot_to_paintable()
Also, do actually respect the passed in size argument if it isn't NULL.
Fixes text being cut off inside DND icons.
Benjamin Otte [Tue, 19 Jun 2018 14:47:36 +0000 (16:47 +0200)]
dnd: gdk_drag_action_is_unique() should return a boolean
Daniel Boles [Tue, 19 Jun 2018 17:30:34 +0000 (18:30 +0100)]
a11y/entry: Fix copy-pasteo re 2ndary icon tooltip
The else case was wrongly resetting the accessible description on the
primary icon, which might not exist and can therefore cause a crash.
https://gitlab.gnome.org/GNOME/gtk/issues/1160
Matthias Clasen [Tue, 19 Jun 2018 16:40:39 +0000 (16:40 +0000)]
Merge branch 'wip/carlosg/issue-1159' into 'master'
Fix issue 1159
Closes #1159
See merge request GNOME/gtk!202
Piotr Drąg [Tue, 19 Jun 2018 15:52:13 +0000 (17:52 +0200)]
Update POTFILES.in
myfreeweb [Tue, 19 Jun 2018 14:49:18 +0000 (14:49 +0000)]
wayland: Use shm_open(SHM_ANON) on FreeBSD
This functionality is similar to Linux's memfd. It creates anonymous shared memory without touching the filesystem, which allows it to work in Capsicum capability mode (sandbox).
Carlos Garnacho [Tue, 19 Jun 2018 11:38:09 +0000 (13:38 +0200)]
gtkgesture: Check claimed status after event delivery
The claimed status check should happen after ::end is emitted,
as the gesture may deny the sequence that much late. In this
case the event should keep propagating.
https://gitlab.gnome.org/GNOME/gtk/issues/1159
Closes: #1159
Carlos Garnacho [Tue, 19 Jun 2018 11:17:57 +0000 (13:17 +0200)]
gtkwidget: Avoid doubly coordinate conversion when emulating press
We are poking again into the event propagation machinery, which
expects events in toplevel coordinates. Since we can't fetch the
original event back at this point, translate the coordinates
back to the toplevel so the emulated press ends up in the right
place.
https://gitlab.gnome.org/GNOME/gtk/issues/1159
Closes: #1159
Benjamin Otte [Mon, 18 Jun 2018 14:26:06 +0000 (16:26 +0200)]
x11: Set background as transparent as possible
Instead of making the background black, make it transparent black for
RGBA visuals and set a None background otherwise.
Benjamin Otte [Sat, 16 Jun 2018 02:49:47 +0000 (04:49 +0200)]
widget: Remove time argument from drag_data_get() vfunc
Benjamin Otte [Sat, 16 Jun 2018 02:34:48 +0000 (04:34 +0200)]
dnd: Remove unused time arguments
Benjamin Otte [Fri, 15 Jun 2018 06:39:51 +0000 (08:39 +0200)]
dnd: Remove GdkDragContext.dest_surface
The variable is now unused
Руслан Ижбулатов [Sat, 16 Jun 2018 17:18:54 +0000 (17:18 +0000)]
GDK W32: Remove gdk_win32_surface_foreign_new_for_display
That function is now unused.
Руслан Ижбулатов [Sat, 16 Jun 2018 17:13:19 +0000 (17:13 +0000)]
GDK W32: Adapt to dest_surface removal, misc changes
* There's no GdkDragContext->dest_surface anymore.
Add dest_window field to GdkWin32DragContext,
and use that instead.
* Remove unused function prototypes
* Add more comments
* Rename variables and fields from 'window' to 'surface'
where appropriate
* Fix header indentation a bit
* Try to ensure that uninitialized/unknown handle variables
and fields are set to INVALID_HANDLE_VALUE instead of NULL,
as there may be cases where NULL is a valid handle value.
Benjamin Otte [Fri, 15 Jun 2018 06:48:27 +0000 (08:48 +0200)]
dnd: Remove GdkDragContext.is_source
All drag contexts are sources these days, the other ones are GdkDrop
now.
Benjamin Otte [Fri, 15 Jun 2018 06:38:19 +0000 (08:38 +0200)]
x11: Remove gdk_x11_surface_foreign_new_for_display()
People who want to use foreign windows should use X directly.
Benjamin Otte [Fri, 15 Jun 2018 06:35:14 +0000 (08:35 +0200)]
x11: Store the XID instead of a GdkSurface
This might be foreign Windows and we don't want to create surfaces for
those.
Also, stop using GdkDragContext.dest_surface, that variable is meant to
go away.
Benjamin Otte [Fri, 15 Jun 2018 06:12:33 +0000 (08:12 +0200)]
x11: Simplify test
Now that we have gdk_drag_context_get_display(), use it.
Benjamin Otte [Fri, 15 Jun 2018 06:00:41 +0000 (08:00 +0200)]
x11: xdnd_send_event() always returns TRUE
Make it return nothing instead and delete the code that handled the
FALSE case.
Benjamin Otte [Fri, 15 Jun 2018 05:57:45 +0000 (07:57 +0200)]
x11: Don't multiply X values by the scale factor
This is fallout from a too eager change in
bdb442be21471a91820219347b1345ed7b84d034.
Benjamin Otte [Thu, 14 Jun 2018 03:13:13 +0000 (05:13 +0200)]
dnd: Make the base Drag/Drop types abstract
This way, they'll be ignored by the testsuite.
And we don't want to instantiate them anyway, the backends have
their own subclasses.